
Date.prototype.format = function(fmt) {
    var o = {
        "M+" : this.getMonth()+1,                 //月份
        "d+" : this.getDate(),                    //日
        "h+" : this.getHours(),                   //小时
        "m+" : this.getMinutes(),                 //分
        "s+" : this.getSeconds(),                 //秒
        "q+" : Math.floor((this.getMonth()+3)/3), //季度
        "S"  : this.getMilliseconds()             //毫秒
    };
    if(/(y+)/.test(fmt)) {
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
    }
    for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
        }
    }
    return fmt;
}

$(function () {
    $(".remove-file").on("click","i",function () {
        console.log("click")
        var parent = $(this).parent("p");
        console.log(parent);
        var inputId = parent.attr("pid");
        var id = $(this).parent("p").attr("id");
        var jsonData = JSON.parse($("#"+inputId).val());
        var file = jsonData.filter((p) => {
            return p.id == id;
        });

//2. 其次得到这个对象在数组中对应的索引
        var index = jsonData.indexOf(file[0]);

//3. 如果存在则将其删除，index > -1 代表存在
        index > -1 && jsonData.splice(index, 1);

        console.log(jsonData);
    })
})

function removeFile(ele,fileId,inputId) {
    console.log($("#"+inputId).val());
    var jsonData = JSON.parse($("#"+inputId).val());
    var file = jsonData.filter((p) => {
        return p.id == fileId;
    });

//2. 其次得到这个对象在数组中对应的索引
    var index = jsonData.indexOf(file[0]);

//3. 如果存在则将其删除，index > -1 代表存在
    index > -1 && jsonData.splice(index, 1);
    $(ele).parent("p").remove();
    console.log(jsonData);
    $("#"+inputId).val(JSON.stringify(jsonData));
}
function dealFileData(res,id){
    if(res.code == 0){
        fileData = $("#"+id).val();
        jsonData = []
        if(fileData){
            jsonData = JSON.parse(fileData)
        }
        json = {}
        json.name = res.originName;
        json.path = res.fileName;
        json.id = res.id;
        jsonData.push(json)
        $("#"+id).val(JSON.stringify(jsonData));
        $("#"+id+"_div").append('<p id="'+res.id+'" pid="'+id+'"><a href="'+res.url+'" target="_blank">'+res.originName+'</a>&nbsp;&nbsp;<a href="javascript:void(0)" class="remove-file" onclick="removeFile(this,\''+res.id+'\',\''+id+'\')"><i class="fa fa-remove"></i></a></p>');
    }else{
        $.modal.alertError("文件上传失败");
    }
}

function dealFileDataByClass(res,className) {
    $("."+className).each(function () {
        var id = $(this).attr("id");
        dealFileData(res,id);
    })
}
function showFiles(id,remove){
    if(remove == undefined){
        remove = true;
    }
    var fileData = $("#"+id).val();
    var jsonData = []
    if(fileData){
        jsonData = JSON.parse(fileData)
        console.log(jsonData)
        for(var i in jsonData){
            var html = '<p id="'+jsonData[i].id+'" pid="'+id+'"><a href="'+jsonData[i].path+'" target="_blank">'+jsonData[i].name+'</a>&nbsp;&nbsp;';
            if(remove){
                html += '<a href="javascript:void(0)" class="remove-file" onclick="removeFile(this,\''+jsonData[i].id+'\',\''+id+'\')"><i class="fa fa-remove"></i></a></p>';
            }else{
                html += '</p>';
            }

            $("#"+id+"_div").append(html);
        }
    }
}

function showFilesByClass(className,remove) {
    $("."+className).each(function () {
        var id = $(this).attr("id");
        showFiles(id,remove);
    })
}

function commonUploadByClass(upload,className) {
    $("."+className).each(function () {
        var id = $(this).attr("id");
        commonUpload(upload,id);
    })
}
function commonUpload(upload,id) {
    upload.render({
        elem: '#'+id+'Upload'
        ,url: '/common/upload'
        ,multiple: true
        ,accept: 'file'
        ,done: function(res){
            //上传完毕
            dealFileData(res,id);
        },
        error: function () {
            $.modal.alertError("文件上传失败");
        }
    });
}

function isNotANumber(inputData) {
    //isNaN(inputData)不能判断空串或一个空格
    //如果是一个空串或是一个空格，而isNaN是做为数字0进行处理的，而parseInt与parseFloat是返回一个错误消息，这个isNaN检查不严密而导致的。
    if (parseFloat(inputData).toString() == "NaN") {
        //alert(“请输入数字……”);
        return false;
    } else {
        return true;
    }
}
function isNotADigits(inputData) {
    //isNaN(inputData)不能判断空串或一个空格
    //如果是一个空串或是一个空格，而isNaN是做为数字0进行处理的，而parseInt与parseFloat是返回一个错误消息，这个isNaN检查不严密而导致的。
    if (parseInt(inputData).toString() == "NaN") {
        //alert(“请输入数字……”);
        return false;
    } else {
        return true;
    }
}

function validate() {
    var ok = true;
    $(".required").each(function () {
        var value = $(this).val();
        if(value == undefined || $.common.isEmpty(value)){
            $.modal.alertWarning("录入数据不完整。");
            ok = false;
            return false;
        }
    });
    $(".number").each(function () {
        var value = $(this).val();
        if(value && !isNotANumber(value)){
            ok = false;
            $.modal.alertWarning("请输入正确的数字。")
            return false;
        }
    });
    $(".digits").each(function () {
        var value = $(this).val();
        if(value && !isNotANumber(value)){
            ok = false;
            $.modal.alertWarning("请输入正确的数字。")
            return false;
        }
    });
    return ok;
}


function reloadSelect() {
    //将表内数据遍历，在数据修改导致重置后，遍历和表内数据，
    //重新修改option的selected属性
    var counts = $("#" + table.options.id).bootstrapTable('getData');

    counts.forEach(function (item,i) {
        var options = $(".sign").eq(i).find("option");

        var signContract = item.signContract;
        for (var j = 0; j < options.length; j++) {
            options.eq(j).removeAttr("selected");
            if (options.eq(j).val() == signContract) {
                options.eq(j).attr("selected", "selected");
            }
        }
    })
}
function addColumn() {
    var count = $("#" + table.options.id).bootstrapTable('getData').length;
    sub.editColumn();

    $("#" + table.options.id).bootstrapTable('insertRow', {
        index: count,
        row: {
            name: "",
            credit: "",
            signContract: "1",
            amount: "",
        }
    });
    reloadSelect();
}
function removeColumn(field){
    sub.delColumn(field);
    reloadSelect();
}

function isPC() {
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone","SymbianOS", "Windows Phone","iPad", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}

function titleValue(title) {
    if(isPC()){
        return title;
    }else{
        return title.replace("<br>","");
    }
}